1. Field of the Invention
This invention generally relates to workflow management and, more particularly, to a system and method for managing workflow using a plurality of different scripts.
2. Description of the Related Art
Workflow is a concept that can he expressed as the automatic routing of documents to the users responsible for working on them, “work-flow” on the techweb website. Workflow is concerned with providing the information required to support each step of the business cycle. The documents may be physically moved over the network, or maintained in a single database with the appropriate users given access to the data at the required times. Triggers can be implemented in the system to alert managers when operations are overdue. Alternately stated, workflow is a defined series of tasks within an organization to produce a final outcome, see “workflow” on the webopedia website. In general practice, workflow is a defined set of actions or procedures that occur to a document, after the document is scanned, faxed, or copied into a selected folder.
The manual flow of documents in an organization is prone to errors. Documents can get lost or be constantly shuffled to the bottom of the in basket. Automating workflow sets timers that ensure that documents move along at a prescribed pace and that the appropriate person processes them in the correct order.
Integrating workflow into existing software applications may require extensive reprogramming because, although independent workflow software can launch a whole application, a workflow system must be able to invoke individual routines within the application. As a result, vendors of application software have teamed up with workflow vendors to provide the appropriate interfaces and/or they have developed their own workflow capability. Workflow standards developed by the Workflow Management Coalition (WFMC) are expected to provide interoperability between workflow software and the applications as well as between different workflow systems.
Workflow software is not the same as workgroup software, otherwise known as groupware. Workflow deals with the step-by-step processes, whereas workgroup systems are concerned with information sharing and threaded discussions among users. Groupware, or workgroup computing, focuses on the information being processed and enabling users to share information. Workflow, on the other hand, emphasizes the importance of the process, which acts as a container for the information. Workflow combines rules, which govern the tasks performed, and coordinates the transfer of the information required to support these tasks. This is “process-centered” rather than “information-centered.”
Sophisticated workgroup computing applications permit a user to define different workflows for different types of jobs. For example, in a publishing setting, a document might be automatically routed from writer to editor to proofreader to production. At each stage in the workflow, one individual or group is responsible for a specific task. Once the task is complete, the workflow software ensures that the individuals responsible for the next task are notified and receive the data they need to execute their stage of the process.
A workgroup is a collection of individuals working together on a task. Workgroup computing occurs when all the individuals have computers connected to a network that allows them to send email to one another, share data files, and schedule meetings. Sophisticated workgroup systems allow users to define workflows so that data is automatically forwarded to appropriate people at each stage of a process.
A script is a special-purpose command language used to automate sequences within an application such as a spreadsheet or word processor. Macro languages often include programming controls (IF THEN, GOTO, WHILE, etc.), but rarely have the capabilities of a full-blown programming language. Another term for macro or batch file, a script is a list of commands that can be executed without user interaction, see “script” on the webopedia website.
As noted in U.S. Pat. No. 5,960,404 (Chaar et al.), workflow systems are essential to organizations that need to automate their business processes. Workflow systems allow organizations to specify, execute, and monitor their business processes in an efficient manner over enterprise-level networks. This has the net effect of improved throughput of processes, better utilization of organizational resources, and improved tracking of processes.
Many workflow systems are commercially available. Even though many workflow systems exist, interoperability across these systems is a technical problem. The systems are monolithic and proprietary, and workflows cannot extend beyond a single workflow system. To solve this problem, the Workflow Management coalition (WfMC), an industry-wide consortium of major workflow system vendors, has defined a standard workflow architecture, described in the document “The Workflow Reference Model” (WFMC-TC-1003). The model defines the major components of a workflow system and a set of interfaces between workflow system components. The major components it describes are a Process Definition or Builder Tool to capture business process logic in a high-level notation; a Workflow Server that acts as the nerve center of the workflow system; Workflow Clients that are used by users to view and interact with the contents of their worklists; Workflow Applications that are invoked by the workflow server to perform automated activities; and finally, Administration & Monitoring Tools used to administer the execution and monitor the status of work flowing through the workflow system using Audit Data.
The WFMC Reference Model also defines interfaces between these components. Interface 1 (builder-server interface) defines a common process definition format for the interchange of static process specifications between a Process Definition Tool and a Workflow Server (WFMC-WG01-1000). Interface 2 (client-server interface) defines an API that provides a complete range of interactions between a Workflow Client and a Workflow Server (WFMC-TC-1009). These include worklist interaction, query and control of workflow processes and their activities, and administrative functions. Interface 3 (application invocation interface) is intended to describe how applications are invoked. Interface 4 (server-server interface) defines an API that describes the interactions between two Workflow Servers (WFMC-TC-1012). Interactions include initiation, query and control of workflow processes and their activities, and administrative functions. Finally, Interface 5 (monitor-server interface) defines audit data for administrating and monitoring a Workflow Server (WFMC-TC-1015).
Workflow typically involves processing documents created by capturing devices, such as a scanner or a facsimile (fax). When a user wants to process documents created by capturing devices, they typically run applications such as ‘Flow Manager’. These capturing devices can be configured to send the captured data, or documents to a specific folder in the users computer. Even though these workflow applications can be configured to watch some folders on the users personal computer (PC) or computer workstation, it does not allow the user to run different scripts on different folders. To overcome this problem the user must run multiple instances of these applications. This is inconvenient, and in some applications impossible because the application may not permit the user to run multiple instances.
Recent versions of Windows permit users to customize a folder by using scripts, but these scripts are run only when the user has the folders opened. Applications such as Flow Manager can be configured to watch folders for files that are being created. But these applications run the same script on all the watched folders.
It would be advantageous if a plurality of scripts could be generated, in parallel, for any particular processed document.
It would be advantageous if the user could easily generate and edit the plurality of workflow scripts.